iT邦幫忙

2021 iThome 鐵人賽

DAY 27
0

你的應用程式架構尖叫了什麼呢? 當查看最高層目錄結構和 package 中的原始碼檔案時,他們是否會尖叫『醫療保健系統』或『會計系統』或『庫存管理系統』? 還是它們會尖叫『Rails』,或『Spring/Hibernate』或『ASP』?」

「當新的程式設計師看到 Repository 時,第一印象應該是『哦,這是一個醫療保健系統』。那些新的程式設計師能夠學習系統所有的使用案例,但依然不知道系統會被如何交付」

取自: Clean Architecture (p.164 & p.166)

CH21: 架構的聲音 (原文: Screaming Architecture)

...

架構的主題

架構的目的

框架是工具,不是存在的方式

...

你的架構應該告訴讀者關於這個系統的事,而不是你使用的框架

取自: Clean Architecture (p.166)

可測試的架構


CH22: 整潔的架構

  • 六角形架構 (Hexagonal Architecture)
    https://ithelp.ithome.com.tw/upload/images/20211011/20138643cHz7WvHK0I.png
    • 簡述...
      P.S. 六角形架構自 Alistair Cockburn 於 2005 年提出,發展至今已經衍生許多的變體,這邊僅單純放上一張原圖供讀者感受
  • Data Context Interaction (DCI)
    尋找圖片中...
    • 簡述...
  • Boundary-Control-Entity (BCE)
    https://ithelp.ithome.com.tw/upload/images/20211011/201386437V7mm2RGId.png
    • 簡述...
  • Uncle Bob's Style
    https://ithelp.ithome.com.tw/upload/images/20211011/20138643Kgy4yy8C1M.jpg
    • 本書重點...

特徵

...

依賴規則

實體層

使用案例層

介面轉接層

框架和驅動層

跨越邊界

經典案例:一個採用資料庫的 Web 系統

整理中...


Reference

神秘的六角形架構
Hexagonal architecture
Boundary Control Entity Architecture: The Pattern to Structure Your Classes


上一篇
Day 26: 策略和層級、業務規則 (待改進中... )
下一篇
Day 28: 服務:偉大與微小 (待改進中... )
系列文
成為乾淨的開發者吧! Clean Code, Clean Coder, Clean Architecture 導讀之旅31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言